<?php

namespace App\Common\Helps;

class CommonHelps {

    /**
     * 生成订单号
     * @author Jinfeihu
     */
    public static function produceOrderNo() {
        @date_default_timezone_set("PRC");
        //订购日期
        $orderDate = date('Y-m-d');
        //订单号码主体（YYYYMMDDHHIISSNNNNNNNN）
        $orderIdMain = date('YmdHis') . rand(10000000, 99999999);
        //订单号码主体长度
        $orderIdLen = strlen($orderIdMain);
        $orderIdSum = 0;
        for ($i = 0; $i < $orderIdLen; $i++) {
            $orderIdSum += (int) (substr($orderIdMain, $i, 1));
        }
        //唯一订单号码（YYYYMMDDHHIISSNNNNNNNNCC）
        $orderId = $orderIdMain . str_pad((100 - $orderIdSum % 100) % 100, 2, '0', STR_PAD_LEFT);
        @date_default_timezone_set("PRC");
        //订购日期
        $orderDate = date('Y-m-d');
        //订单号码主体（YYYYMMDDHHIISSNNNNNNNN）
        $orderIdMain = date('YmdHis') . rand(10000000, 99999999);
        //订单号码主体长度
        $orderIdLen = strlen($orderIdMain);
        $orderIdSum = 0;
        for ($i = 0; $i < $orderIdLen; $i++) {
            $orderIdSum += (int) (substr($orderIdMain, $i, 1));
        }
        //唯一订单号码（YYYYMMDDHHIISSNNNNNNNNCC）
        return $orderIdMain . str_pad((100 - $orderIdSum % 100) % 100, 2, '0', STR_PAD_LEFT);
    }

}
